/*
* TFGameTurn.h
*
* This class holds turn information.
* Who's turn is it? What move is being made? How many points to spend?
* 
* Author: Rapid Dojo
* Date: Oct 19, 2007
*/

#ifndef TFGAMETURN_H
#define TFGAMETURN_H

#include "TFGameMove.h"
#include "TFGameMoveList.h"
#include "TFConstants.h"

class TFGameTurn
{
public:
	TFGameTurn();
	TFGameTurn(TFGameMove* myMove, int points, TF_PLAYERS playerTurn);
	~TFGameTurn();

	TFGameMove* GetMove() { return currentMove; }
	TF_PLAYERS GetTurn() { return turn; }
	int GetPoints() { return actionPoints; }
	void UsePoints(int points) { actionPoints -= points; }


	void SetTurn(TF_PLAYERS newTurn) { turn = newTurn; }
	void SetPoints(int newPoints) { actionPoints = newPoints; }	
	void SetMove(TFGameMove* move) { currentMove = move; }

private:
	TFGameMoveList* possibleMoves;
	TFGameMove* currentMove;
	TF_PLAYERS turn;
	int actionPoints;
};

#endif
